/*
 * Copyright:  2018 smarabbit studio.
 *
 *  Licensed under the Confluent Community License; you may not use this file
 *  except in compliance with the License.  You may obtain a copy of the License at
 *
 *  http://www.confluent.io/confluent-community-license
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 *  WARRANTIES OF ANY KIND, either express or implied.  See the License for the
 *  specific language governing permissions and limitations under the License.
 *
 *  @作   者： 黄开晖 (117227773@qq.com)
 *  @日   期:  2020年8月29日
 */
package com.massyframework.beanskin.assembly.handling;

/**
 * {@link EnvironmentHandler}, 在某些情况下，即使装配件所依赖的服务全部就绪，甚至装配件就根本没有
 * 外部依赖，也不能马上进入工作状态，必须等待周边环境的某些要素具备后，才能进入工作状态。<br>
 * 主要的场景包括：
 * <ul>
 * <li>装配件嵌入有Servlet、ServletContextListener、Filter,必须等待这些Web组件的环境就绪了，
 *     才能进入工作状态。</li>
 * <li>装配件如果作为提供微服务本地代理提供方，必须等候远程微服务上线后，装配件才能进入工作状态</li>
 * </ul>
 */
public interface EnvironmentHandler {

	/**
     * 判断周边环境是否就绪
     * @return {@link boolean},返回{@code true}表示已就绪，否则返回{@code false}
     */
    boolean isReady();
}
